/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Vue;

import Controleur.Controleur;
import javax.swing.*;
import java.awt.*;
import static javax.swing.Spring.width;


import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.border.Border;
import javax.swing.border.LineBorder;

/**
 *
 * @author Valentin
 */
public class FenetreNouveau extends JDialog{
    
    Dimension dimension = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    int height = (int) dimension.getHeight();//obtenir hauteur écran
    int width = (int) dimension.getWidth();//obtenir largeur écran
    
    Controleur c;
    
    JTextField nom = new JTextField();
    JTextField prenom = new JTextField();
    JTextField telperso = new JTextField();
    JTextField telpro = new JTextField();
    JTextField email = new JTextField();
    JTextField page = new JTextField();
    JTextField photo = new JTextField();
    JTextField adresse = new JTextField();
    JCheckBox amis = new JCheckBox("Amis");
    JCheckBox famille = new JCheckBox("Famille");
    JCheckBox collegue = new JCheckBox("Collègue");
    
    ImageIcon fondCase = new ImageIcon("icon.png");//personnalisation des checkboxs
    ImageIcon fondCase2 = new ImageIcon("icon2.png");
    
    public FenetreNouveau(int largeur, int hauteur, Controleur controleur) {

        setLocation((width - largeur) / 2, (height - hauteur) / 2);//centrer fenetre
        setSize(largeur, hauteur+30);
        setResizable(false);//taille fixe
        setVisible(true);
        String titre = "Address Book";
        setTitle(titre);
        
        Container ContentPane = this.getContentPane();//panneau d'affichage
        
        JLabel fond = new JLabel();
        fond.setBackground(Color.DARK_GRAY);
        Border thickBorder = new LineBorder(Color.BLACK, 14);//Bordure bouttons

        
        JLabel entete = new JLabel();
        entete.setBorder(null);
        entete.setText("Nouveau");
        entete.setHorizontalAlignment(JLabel.CENTER);//écrire au centre
        Font police = new Font("Arial", Font.BOLD, 90);//choix de la police d'écriture
        entete.setFont(police);//appliquer la police
        entete.setForeground(Color.DARK_GRAY);
        entete.setBounds(new Rectangle(0,0,largeur,60));
        entete.setVisible(true);
        entete.setOpaque(true);
        entete.setBackground(Color.BLACK);
        
        Font police2 = new Font("Arial", Font.TYPE1_FONT, 30);//choix de la police d'écriture
        Font police3 = new Font("Arial", Font.TYPE1_FONT, 25);//choix de la police d'écriture
        

        nom.setBounds(new Rectangle(0,120,largeur,50));
        nom.setBorder(null);
        nom.setBackground(Color.DARK_GRAY);
        nom.setForeground(Color.BLACK);
        nom.setHorizontalAlignment(JLabel.CENTER);//écrire au centre
        nom.setFont(police2);
        nom.setText("Nom");

        prenom.setBounds(new Rectangle(0,80,largeur,50));
        prenom.setBorder(null);
        prenom.setBackground(Color.DARK_GRAY);
        prenom.setForeground(Color.BLACK);
        prenom.setHorizontalAlignment(JLabel.CENTER);//écrire au centre
        prenom.setFont(police2);
        prenom.setText("Prénom");
        

        telperso.setBounds(new Rectangle(0,160,largeur,50));
        telperso.setBorder(null);
        telperso.setBackground(Color.DARK_GRAY);
        telperso.setForeground(Color.BLACK);
        telperso.setHorizontalAlignment(JLabel.CENTER);//écrire au centre
        telperso.setFont(police2);
        telperso.setText("Téléphone");
        
        
        telpro.setBounds(new Rectangle(0,200,largeur,50));
        telpro.setBorder(null);
        telpro.setBackground(Color.DARK_GRAY);
        telpro.setForeground(Color.BLACK);
        telpro.setHorizontalAlignment(JLabel.CENTER);//écrire au centre
        telpro.setFont(police2);
        telpro.setText("Téléphone bureau");
        
        
        email.setBounds(new Rectangle(0,240,largeur,50));
        email.setBorder(null);
        email.setBackground(Color.DARK_GRAY);
        email.setForeground(Color.BLACK);
        email.setHorizontalAlignment(JLabel.CENTER);//écrire au centre
        email.setFont(police2);
        email.setText("Email");
        
        
        page.setBounds(new Rectangle(0,280,largeur,50));
        page.setBorder(null);
        page.setBackground(Color.DARK_GRAY);
        page.setForeground(Color.BLACK);
        page.setHorizontalAlignment(JLabel.CENTER);//écrire au centre
        page.setFont(police2);
        page.setText("Home Page");
        
        adresse.setBounds(new Rectangle(0,320,largeur,50));
        adresse.setBorder(null);
        adresse.setBackground(Color.DARK_GRAY);
        adresse.setForeground(Color.BLACK);
        adresse.setHorizontalAlignment(JLabel.CENTER);//écrire au centre
        adresse.setFont(police2);
        adresse.setText("Adresse");
        
        
        photo.setBounds(new Rectangle(0,360,largeur,50));
        photo.setBorder(null);
        photo.setBackground(Color.DARK_GRAY);
        photo.setForeground(Color.BLACK);
        photo.setHorizontalAlignment(JLabel.CENTER);//écrire au centre
        photo.setFont(police2);
        photo.setText("Photo");
        
        
        amis.setBounds(new Rectangle(20,430,largeur/4,50));
        amis.setBackground(Color.DARK_GRAY);
        amis.setFont(police3);
        amis.setForeground(Color.BLACK);
        amis.setIcon(fondCase);
        amis.setSelectedIcon(fondCase2);
        amis.setFocusPainted(false);

        
        famille.setBounds(new Rectangle(largeur/3-15,430,largeur/3-10,50));
        famille.setBackground(Color.DARK_GRAY);
        famille.setFont(police3);
        famille.setForeground(Color.BLACK);
        famille.setIcon(fondCase);
        famille.setSelectedIcon(fondCase2);
        famille.setFocusPainted(false);
        
        
        collegue.setBounds(new Rectangle(2*(largeur/3)-25,430,largeur/3,50));
        collegue.setBackground(Color.DARK_GRAY);
        collegue.setFont(police3);
        collegue.setForeground(Color.BLACK);
        collegue.setIcon(fondCase);
        collegue.setSelectedIcon(fondCase2);
        collegue.setFocusPainted(false);
        
        
        JButton boutonSave = new JButton(new ImageIcon("iconesave.png"));//Bouton nouveau contact
        boutonSave.setBounds(new Rectangle(0,hauteur-106, largeur-7,100));
        boutonSave.setBorder(thickBorder);
        boutonSave.addMouseListener(new Creer());
        
        

        
       ContentPane.setBackground(Color.DARK_GRAY);
       ContentPane.add(boutonSave);
       ContentPane.add(collegue);
       ContentPane.add(famille);
       ContentPane.add(amis);
       ContentPane.add(photo);
       ContentPane.add(adresse);
       ContentPane.add(page);
       ContentPane.add(email);
       ContentPane.add(telpro);
       ContentPane.add(telperso);
       ContentPane.add(prenom);
       ContentPane.add(nom);
       ContentPane.add(entete);
       ContentPane.add(fond);
        
       
       this.revalidate();
        
       
        c=controleur;
        
    }
    
    class Creer implements MouseListener {

        public Creer() {
        }

        @Override
        public void mouseClicked(MouseEvent me) {           
                
                c.creerContact(
                        prenom.getText(),
                        nom.getText(),
                        adresse.getText(),
                        telperso.getText(),
                        telpro.getText(),
                        page.getText(),
                        email.getText(),
                        photo.getText(),
                        amis.isSelected(),
                        famille.isSelected(),
                        collegue.isSelected()
                    );
                dispose();
        }

        @Override
        public void mousePressed(MouseEvent me) {   
        }

        @Override
        public void mouseReleased(MouseEvent me) {  
        
            
        }

        @Override
        public void mouseEntered(MouseEvent me) {  }

        @Override
        public void mouseExited(MouseEvent me) {
            
        }   
    }
}



